import { reactive } from 'vue';

const state = reactive<{
  /**
   * 说明信息
   */
  description?: string;
  /**
   * 资产列表弹出层是否显示
   */
  appSpareListPopupIsShow: boolean;
  /**
   * 表格数据
   */
  spareStockList: {
    /**
     *id
     */
    spareId: string;
    /**
     * 备品名称
     */
    spareName: string;
    /**
     * 加减操作
     */
    operateNum: number;
    /**
     * 库存数
     */
    stockNum: number;
    /**
     *备品备件实体
     */
    spare: AppSysSpare.Dto;
  }[];
}>({
  description: '',
  appSpareListPopupIsShow: false,
  spareStockList: [],
});

const formState = reactive<{
  /**
   *记录类别 1出库 2入库
   */
  category?: number;
  /**
   * 仓库ID
   */
  warehouseId?: string;
  /**
   * 仓库编码
   */
  warehouseCode?: string;
  /**
   * 仓库名称
   */
  warehouseName?: string;
  /**
   * 记录时间（出库，入库时间）
   */
  recordTime?: string;
  /**
   * 记录类型ID（出库，入库类型ID）
   */
  recordTypeId?: string;
  /**
   * 记录类型编码
   */
  recordTypeCode?: string;
  /**
   * 记录类型名称
   */
  recordTypeName?: string;
  /**
   * 描述
   */
  decription?: string;
  /**
   * 备品出入库记录实体类
   */
  content: {
    /**
     *
     */
    id?: string;
    tenantNo?: number;
    /**
     * 备品分类实体类
     */
    spare?: AppSysSpare.Dto;
    /**
     * 单词操作数量
     */
    operateNum?: number;
  }[];
  /**
   * 供应方签名
   */
  supplierSign?: string;
  /**
   * 领用方签名
   */
  userSign?: string;
}>({
  category: 1,
  warehouseId: '',
  warehouseCode: '',
  warehouseName: '',
  recordTime: '',
  recordTypeId: '',
  recordTypeCode: '',
  recordTypeName: '',
  decription: '',
  content: [],
  supplierSign: '',
  userSign: '',
});

export { state, formState };
